Data processing apparatus with adaptive compression algorithm selection for data communication based on sensor input/sensor configuration/display configuration over camera interface and related data processing method

ABSTRACT

A data processing apparatus has a compressor and an output interface. The compressor receives an input multimedia data, and generates an output multimedia data according to the input multimedia data. The output interface packs the output multimedia data into an output bitstream, and outputs the output bitstream via a camera interface. The compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to at least one sensor input signal. For example, the at least one sensor input signal is generated from at least one of an ambient light sensor, a proximity sensor, a thermal sensor, an accelerometer, a gyroscope, and a receiver of a global navigation satellite system. Alternatively, the compressor may be configured to adaptively adjust the compression algorithm applied to the input multimedia data according to a sensor configuration of a camera sensor or a display configuration of a display apparatus.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application No. 61/729,426, filed on Nov. 23, 2012 and incorporated herein by reference.

BACKGROUND

The disclosed embodiments of the present invention relate to transmitting multimedia data over a camera interface, and more particularly, to a data processing system which transmits compressed multimedia data over a camera interface.

A camera interface is disposed between a first chip and a second chip to transmit multimedia data from the first chip to the second chip for further processing. For example, the first chip may include a camera module, and the second chip may include an image signal processor (ISP). The multimedia data may include image data (i.e., a single captured image) or video data (i.e., a video sequence composed of captured images). When a camera sensor with a higher resolution is employed in the camera module, the multimedia data transmitted over the camera interface would have a larger data size/data rate, which increases the power consumption of the camera interface inevitably. If the camera module and the ISP are both located at a portable device (e.g., a smartphone) powered by a battery device, the battery life is shortened due to the increased power consumption of the camera interface. Thus, there is a need for an innovative design which can effectively reduce the power consumption of the camera interface.

SUMMARY

In accordance with exemplary embodiments of the present invention, a data processing apparatus with adaptive compression algorithm selection for data communication over a camera interface and related data processing method are proposed.

According to a first aspect of the present invention, an exemplary data processing apparatus is disclosed. The exemplary data processing apparatus includes a compressor and an output interface. The compressor is arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data. The output interface is arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface. The compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to at least one sensor input signal.

According to a second aspect of the present invention, an exemplary data processing apparatus is disclosed. The exemplary data processing apparatus includes a compressor and an output interface. The compressor is arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data. The output interface is arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface. The input multimedia data is derived from an output of a camera sensor; and the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to a sensor configuration of the camera sensor.

According to a third aspect of the present invention, an exemplary data processing apparatus is disclosed. The exemplary data processing apparatus includes a compressor and an output interface. The compressor is arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data. The output interface is arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface. A display data derived from the output multimedia data transmitted via the camera interface is displayed on a display apparatus. The compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to a display configuration of the display apparatus.

According to a fourth aspect of the present invention, an exemplary data processing method is disclosed. The exemplary data processing method includes at least the following steps: receiving an input multimedia data; adaptively adjusting a compression algorithm according to at least one sensor input signal; generating an output multimedia data according to the input multimedia data and the compression algorithm; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface.

According to a fifth aspect of the present invention, an exemplary data processing method is disclosed. The exemplary data processing method includes at least the following steps: receiving an input multimedia data, wherein the input multimedia data is derived from an output of a camera sensor; adaptively adjusting a compression algorithm according to a sensor configuration of the camera sensor; generating an output multimedia data according to the input multimedia data and the compression algorithm; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface

According to a sixth aspect of the present invention, an exemplary data processing method is disclosed. The exemplary data processing method includes at least the following steps: receiving an input multimedia data; adaptively adjusting a compression algorithm according to a display configuration of a display apparatus; generating an output multimedia data according to the input multimedia data and the compression algorithm; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface. A display data derived from the output multimedia data transmitted via the camera interface is displayed on the display apparatus.

These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a data processing system according to an embodiment of the present invention.

FIG. 2 is a table showing characteristics of different compression algorithms supported by the compressor shown in FIG. 1.

FIG. 3 is a diagram illustrating an embodiment of the compressor shown in FIG. 1.

FIG. 4 is a flowchart illustrating an adaptive compression method based on at least one sensor input signal according to a first embodiment of the present invention.

FIG. 5 is a diagram illustrating another embodiment of the compressor shown in FIG. 1.

FIG. 6 is a flowchart illustrating an adaptive compression method based on at least one sensor input signal according to a second embodiment of the present invention.

FIG. 7 is a diagram illustrating yet another embodiment of the compressor shown in FIG. 1.

FIG. 8 is a diagram illustrating an exemplary implementation of the camera sensor and the compression unit shown in FIG. 7.

FIG. 9 is a flowchart illustrating an adaptive compression method based on a display configuration of a display apparatus and/or a sensor configuration of a camera sensor according to an embodiment of the present invention.

DETAILED DESCRIPTION

Certain terms are used throughout the description and following claims to refer to particular components. As one skilled in the art will appreciate, manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following description and in the claims, the terms “include” and “comprise” are used in an open-ended fashion, and thus should be interpreted to mean “include, but not limited to . . . ”. Also, the term “couple” is intended to mean either an indirect or direct electrical connection. Accordingly, if one device is coupled to another device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.

The present invention proposes applying data compression to a multimedia data and then transmitting a compressed multimedia data over a camera interface. As the data size/data rate of the compressed multimedia data is smaller than that of the original un-compressed multimedia data, the power consumption of the camera interface is reduced correspondingly. Besides, the present invention further proposes an adaptive compression scheme which is based on side information given by at least one auxiliary sensor, a camera sensor, and/or a display apparatus. This may allow the configuration of a compressor to be adjusted in a static or dynamic way according to the side information. In general, data compression is exploited to remove the information redundancy under a specific pixel size (i.e., a unit size of compression) and produce a compressed data constrained by a compression ratio. The compression ratio M may be defined as below.

$M = \frac{{amount}\mspace{14mu} {of}\mspace{14mu} {compressed}\mspace{14mu} {data}}{{amount}\mspace{14mu} {of}\mspace{14mu} {un}\text{-}{compressed}\mspace{14mu} {data}}$

In a case where the compression ratio is equal to 0.5 (i.e., M=1/2), the size of the compressed data is half of the size of the un-compressed data. As the compression performance is strongly related to some design factors such as the unit size of compression and the constrained compression ratio, the present invention therefore proposes using the adaptive compression scheme for enabling a compression algorithm selected from a plurality of candidate compression algorithms, where the selected compression algorithm most efficiently compresses the multimedia data. Compared to a typical compression scheme using a fixed compression algorithm, the proposed adaptive compression scheme achieves better performance. Further details will be described as below.

FIG. 1 is a block diagram illustrating a data processing system according to an embodiment of the present invention. The data processing system 100 includes a plurality of data processing apparatuses such as a camera module 110 external to an application processor 102 and an image signal processor (ISP) 114 included in the application processor 102. The camera module 110 and the ISP 114 may be implemented in different chips, and the camera module 110 communicates with the ISP 114 via a camera interface 103. Alternatively, the ISP 114 may be integrated within the camera module 110, and a single chip having the ISP 114 and the camera module 110 included therein communicates with another data processing apparatus in the application processor 102 via the camera interface 103. In this embodiment, the camera interface 103 may be a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).

The camera module 110 is coupled to the camera interface 103, and supports un-compressed data transmission and compressed data transmission. When the camera module 110 is used to transmit un-compressed data to the ISP 114, the camera module 110 generates an un-compressed multimedia data, and transmits the un-compressed multimedia data over the camera interface 103. When the camera module 110 is used to transmit compressed data to the ISP 114, the camera module 110 generates a compressed multimedia data, and transmits the compressed multimedia data over the camera interface 103.

As shown in FIG. 1, the camera module 110 includes a compressor 142, other circuitry 144, and an output interface 146. Other circuitry 116 includes a camera sensor 145 and other circuit elements required for capturing incident light to obtain an input multimedia data D1, where the input multimedia data D1 is derived from an output of the camera sensor 145. For example, besides the camera sensor 145, other circuitry 116 may have a lens module, a camera controller, a camera buffer, multiplexer(s), etc. When the camera module 110 is operated in a compression mode, the compressor 142 is enabled to perform data compression upon the input multimedia data D1, and accordingly generates an output multimedia data D1′, wherein the compressed multimedia data (i.e., output multimedia data D1′) is packed/packetized into an output bitstream by the output interface 146 according to the transmission protocol of the camera interface 103, and the output bitstream is transmitted to the ISP 114 via the camera interface 103.

Regarding the ISP 114, it is coupled to the camera interface 103, and supports un-compressed data reception and compressed data reception. When the camera module 110 transmits the un-compressed data to the ISP 114, the ISP 114 is operated under a non-decompression mode to receive an un-compressed data from the camera interface 103 and generate a processed multimedia data according to the un-compressed multimedia data. When the camera module 110 transmits the compressed data to the ISP 114, the ISP 114 is operated under a de-compression mode to receive a compressed multimedia data from the camera interface 103 and generate the processed multimedia data according to a de-compressed multimedia data derived from de-compressing the compressed multimedia data. If there is no error introduced during the data transmission, the un-compressed data transmitted under the non-compression mode should be identical to the un-compressed data received under the non-decompression mode, and the compressed data transmitted under the compression mode should be identical to the compressed data received under the de-compression mode.

As shown in FIG. 1, the ISP 114 includes a de-compressor 132, other circuitry 134, and an input interface 136. The input interface 136 receives an input bitstream from the camera interface 103, and un-packs/un-packetizes the input bitstream into an input multimedia data D2 which is a compressed multimedia data when the camera module 110 is operated under the compression mode. In this embodiment, the de-compressor 132 is arranged to perform data de-compression upon the input multimedia data D2, and accordingly generate a de-compressed multimedia data D2′. Other circuitry 134 is arranged to generate a processed multimedia data according to the de-compressed multimedia data D2′. Specifically, other circuitry 134 includes circuit elements required for generating the processed multimedia data according to an internal transmission mode (e.g., an on-the-fly mode or an off-line mode). For example, other circuitry 134 may have a write direct memory access (DMA) controller, a read DMA controller, an image processor, multiplexers, etc.

As the present invention focuses on the adaptive compression and de-compression scheme for configuring the compressor 142 and the de-compressor 132, further details directed to transmitting compressed/un-compressed multimedia data from the camera module 110 to the ISP 114 via the camera interface 103 and generating the processed multimedia data based on the compressed/un-compressed multimedia data received from the camera interface 103 are omitted here for brevity.

As shown in FIG. 1, the application processor 102 further includes a micro control unit (MCU) 112, an image encoder 116, an image decoder 118, a display processor 120, a video encoder 122, a video decoder 124, a graphic engine 126, and a battery meter 130. The battery meter 130 is arranged to monitor the power status of a power source such as the battery capacity of a battery device 109. In this embodiment, the camera module 110 and other data processing apparatuses shown in FIG. 1 are powered by the battery device 109. The MCU 112 serves as a display controller used for controlling generation of a display data, and therefore controls circuit elements within the application processor 102 to generate a desired display data to the driver IC 104. In other words, the MCU 112 controls the operation of the application processor. The ISP 114 serves as a backend processor for an image/video output of the camera module 110. For example, the ISP 114 may be used to perform auto white balance (AWB), auto exposure (AE) and auto focus (AF). In a case where the camera module 110 generates a single captured image to the ISP 114 under a photo mode, a processed image generated from the ISP 114 may be transmitted to the image encoder 116, and an encoded image is generated from the image encoder 116 to an external storage 108 such as a dynamic random access memory (DRAM). In another case where the camera module 110 generates a video sequence composed of successive captured images to the ISP 114 under a video recording mode, a processed video generated from the ISP 114 may be transmitted to the video encoder 122, and an encoded video is generated from the video encoder 122 to the external storage 108.

The image decoder 118 receives an encoded image from the external storage 108, and generates a decoded image to the display processor 120. The video decoder 124 receives an encoded video from the external storage 108, and generates a decoded video to the display processor 120. However, it is possible that the single captured image/video sequence generated from the ISP 114 may be bypassed to the display processor 120 without additionally encoding and decoding operations applied thereto. The graphic engine 126 generates graphic data (e.g., a 3D graphic image) to the display processor 120.

The display processor 120 is arranged to generate a display data based on one or more of the image data, video data, graphic data, etc., and transmit the multimedia data to a driver integrated circuit (IC) 104. Hence, the display data generated at the application processor 102 is derived from the output multimedia D1′ transmitted from the camera module 110 to the ISP 114 via the camera interface 103. For example, the display processor 120 may combine video data, text data and graphic data to generate a multimedia data of a frame, such that the display of the frame would show a graphic scene, a web-browsing text content, and a video playback content. The driver IC 104 is coupled between the display processor 120 and a display panel 106, and drives the display panel 106 according to the display data generated from the display processor 120. By way of example, the display panel 106 may be implemented using any 2D/3D display device (e.g. a retina display), and the pixel arrangement may be a rectangle layout, a triangle layout or a pentile layout.

In this embodiment, the compressor 142 supports a plurality of compression algorithms having different compression characteristics. Please refer to FIG. 2, which is a table showing characteristics of different compression algorithms supported by the compressor 142 shown in FIG. 1. A compression algorithm represents a set of coding tools so as to remove the data redundancy on the input multimedia data D1. The coding tools may be any kind of compression methods developed by proprietary algorithms or specified by state-of-the-art video standards (e.g., MPEG-1/2/4, H.261/262/263/264, and HEVC) or image standards (e.g., JPEG, JPEG-1s, JPEG-2000, JPEG-XR, PNG, and GIF). As shown in FIG. 2, these compression algorithms indicate different capability of compression performance in terms of compression ratio, compression efficiency, compression complexity, and power dissipation. Specifically, the compression efficiency is the ability of a compression algorithm to encode the input multimedia data D1 at the lowest possible bit rate while maintaining a certain level of visual quality. There are two standard ways to measure the compression efficiency of a compression algorithm. One is to use an objective metric, such as a peak signal-to-noise ratio (PSNR). The other is to use a subjective assessment of video/image quality. If the compression efficiency of a compression algorithm is high, it means that the compression algorithm can preserve more input data information after compression is performed under a certain compression ratio. If the compression efficiency of a compression algorithm is low, it means that the compression algorithm will lose more input data information after compression is performed under a certain compression ratio. Hence, a high compression efficiency algorithm can preserve more input data information under a certain compression ratio, and the de-compressed multimedia data can have better visual appearance and visual quality.

In this embodiment, the compressor 142 is capable of adaptively adjusting a compression algorithm by referring to at least the side information shown as dotted lines in FIG. 1, where the side information may be provided by at least one auxiliary sensor 105, the camera sensor 145, and the display panel 106. As the compressor 142 refers to the side information to select an adequate compression algorithm from supported compression algorithms having different compression characteristics, the compression performance can be optimized. For better understanding of technical features of the present invention, several embodiments are illustrated as below.

In a first exemplary embodiment, the compressor 142 may adaptively adjust a compression algorithm applied to the input multimedia data D1 according to at least one sensor input signal generated from the at least one auxiliary sensor 105. Please refer to FIG. 3, which is a diagram illustrating an embodiment of the compressor 142 shown in FIG. 1. As shown in FIG. 3, the compressor 142 includes a comparing unit 302 and a compression unit 304. The comparing unit 302 receives side information SI from at least one of a plurality of auxiliary sensors such as an ambient light sensor 105_1, a proximity sensor 105_2, a thermal sensor 105_3, and an accelerometer 105_4. Besides, the comparing unit 302 compares the side information SI with at least one predetermined threshold to generate a comparison result CR. The compression unit 304 is arranged for referring to the comparison result CR to adaptively adjust the compression algorithm employed. More specifically, the compression unit 304 supports a plurality of compression algorithms having different characteristics, and refers to the comparison result CR to select one of the supported compression algorithms for data compression.

In a first case where the ambient light sensor 105_1 generates a sensor input signal as the side information SI, the comparing unit 302 employs a predetermined threshold THR₁ to check the side information SI (i.e., ambient light strength). When the ambient light strength is high (i.e., the ambient light strength is higher than the predetermined threshold THR₁), the compression artifacts are hard to be seen by the end-user, and a compression algorithm with a more aggressive compression ratio (e.g., M=1/4, compared to 1/2) may be selected to save power. When the ambient light strength is low (i.e., the ambient light strength is not higher than the predetermined threshold THR₁), the compression artifacts are easier to be seen by the end-user, and a compression algorithm with a less aggressive compression ratio (e.g., M=3/4, compared to 1/2) may be selected to ensure the visual quality.

In a second case where the proximity sensor 105_2 generates a sensor input signal as the side information SI, the comparing unit 302 employs a predetermined threshold THR₂ to check the side information SI (i.e., a distance between the display panel 106 and an object (e.g., user's face)). When the distance is small (i.e., the distance is not larger than the predetermined threshold THR₂), the display panel 106 may be controlled to be black out or even powered down, and the compression algorithm employed by the compressor 142 is disabled such that no data compression is applied to the input multimedia data D1. When the distance is large (i.e., the distance is larger than the predetermined threshold THR₂), the display panel 106 may be controlled to operate normally, and the compression algorithm employed by the compressor 142 is enabled such that data compression is applied to the input multimedia data D1.

In a third case where the thermal sensor 105_3 generates a sensor input signal as the side information SI, the comparing unit 302 employs a predetermined threshold THR₃ to check the side information SI (i.e., temperature of an electronic device (e.g., a smartphone) in which the circuit elements shown in FIG. 1 are disposed). When the temperature is high (i.e., the temperature is higher than the predetermined threshold THR₃), a low power technique is crucial, and a less complex and lower power dissipation compression algorithm may be selected to save power and prevent the temperature from going higher. When the temperature is low (i.e., the temperature is not higher than the predetermined threshold THR₃), a more complex and higher power dissipation compression algorithm or a compression algorithm with a less aggressive compression ratio (e.g., M=3/4, compared to 1/2) may be selected to improve the visual quality.

In a fourth case where the accelerometer (or a G-sensor) 105_4 generates a sensor input signal as the side information SI, the comparing unit 302 employs a predetermined threshold THR₄ to check the side information SI (i.e., acceleration of an electronic device (e.g., a smartphone) in which the circuit elements shown in FIG. 1 are disposed). When the acceleration is high (i.e., the acceleration is higher than the predetermined threshold THR₄), the compression artifacts are hard to be seen by the end-user, and a compression algorithm with a more aggressive compression ratio (e.g., M=1/4, compared to 1/2) may be selected to save power. When the acceleration is low (i.e., the acceleration is not higher than the predetermined threshold THR₄), the compression artifacts are easier to be seen by the end-user, and a compression algorithm with a less aggressive compression ratio (e.g., M=3/4, compared to 1/2) may be selected to ensure the visual quality.

FIG. 4 is a flowchart illustrating an adaptive compression method based on at least one sensor input signal according to a first embodiment of the present invention. The exemplary adaptive compression method may be briefly summarized by following steps.

Step 400: Start.

Step 401: Receive an image of the input multimedia data D1 to be compressed.

Step 402: Check if the side information SI includes one of the ambient light strength and the acceleration of an electronic device (e.g., a smartphone). If yes, go to step 404; otherwise, go to step 410.

Step 404: Check if the ambient light strength/acceleration is higher than the predetermined threshold THR₁/THR₄. If yes, go to step 406; otherwise, go to step 408.

Step 406: Apply a compression algorithm with a more aggressive compression ratio to the image. Go to step 424.

Step 408: Apply a compression algorithm with a less aggressive compression ratio to the image. Go to step 424.

Step 410: Check if the side information SI includes the distance between the display panel 106 and an object (e.g., user's face). If yes, go to step 412; otherwise, go to step 418.

Step 412: Check if the distance is smaller than the predetermined threshold THR₂. If yes, go to step 414; otherwise, go to step 416.

Step 414: Disable a compression algorithm employed by the compressor 218 such that no data compression is applied to the image. Go to step 424.

Step 416: Enable a compression algorithm employed by the compressor 218 such that data compression is applied to the image. Go to step 424.

Step 418: Check if the temperature of the electronic device is higher than the predetermined threshold THR₃. If yes, go to step 420; otherwise, go to step 422.

Step 420: Apply a less complex and lower power dissipation compression algorithm to the image. Go to step 424.

Step 422: Apply a more complex and higher power dissipation compression algorithm or a compression algorithm with a less aggressive compression ratio to the image.

Step 424: End.

Provided that the result is substantially the same, the steps are not required to be executed in the exact order shown in FIG. 4. For example, the order of steps 402, 410 and 418 may be changed, depending upon actual design consideration. The same objective of adaptively selecting the compression algorithm is achieved.

It should be noted that steps 402, 404, 410, 412, 418 are performed by the comparing unit 302, and steps 401, 406, 408, 414, 416, 420, 422 are performed by the compression unit 304. As a person skilled in the art can readily understand details of each step shown in FIG. 4 after reading above paragraphs, further description is omitted here for brevity.

Please refer to FIG. 5, which is a diagram illustrating another embodiment of the compressor 142 shown in FIG. 1. As shown in FIG. 5, the compressor 142 includes a decision unit 502 and a compression unit 504. The decision unit 502 receives side information SI from at least one of a plurality of auxiliary sensors such as the accelerometer 105_4, a gyroscope 105_5, and a receiver of a global navigation satellite system (e.g., a global positioning system (GPS) receiver 105_6). Besides, the decision unit 502 checks the side information SI to generate a decision result DR. The compression unit 504 is arranged for referring to the decision result DR to adaptively adjust the compression algorithm employed. More specifically, the compression unit 504 supports a plurality of compression algorithms having different characteristics, and refers to the decision result DR to select one of the supported compression algorithms for data compression.

In a first case where the gyroscope 105_5 generate a sensor input signal as the side information SI, the decision unit 502 refers to the orientation measured/estimated by the gyroscope 105_5 based on angular momentum to determine the decision result DR. If the gyroscope 105_5 detects that an electronic device (e.g., a smartphone) in which the circuit elements shown in FIG. 1 are disposed is moving horizontally, the decision result DR indicates that a compression algorithm with horizontal prediction between horizontal pixels should be preferably selected. If the gyroscope 105_5 detects that the electronic device is moving vertically, the decision result DR indicates that a compression algorithm with vertical prediction between vertical pixels should be preferably selected. If the gyroscope 105_5 detects that the electronic device is moving horizontally and vertically, the decision result DR indicates that a compression algorithm with prediction along the moving direction should be preferably selected.

In a second case where the gyroscope 105_5 and the accelerometer 105_4 generate sensor input signals as the side information SI, the decision unit 502 obtains a view angle based on the acceleration information provided from the accelerometer 105_4 and the orientation information provided from the gyroscope 105_5, and determines the decision result DR by comparing the view angle with a predetermined range (i.e., a normal view range of the display panel 106). If the view angle is within the normal view range, the compression artifacts are easier to be seen by the end-user, and a compression algorithm with a less aggressive compression ratio (e.g., M=3/4, compared to 1/2) may be selected to ensure the visual quality. When the view angle is out of the normal view range, the compression artifacts are hard to be seen by the end-user, and a compression algorithm with a more aggressive compression ratio (e.g., M=1/4, compared to 1/2) may be selected to save power.

In a third case where the GPS receiver 105_6 generates a sensor input signal as the side information SI, the decision unit 502 refers to the location and/or time information provided by a space-based satellite navigation system to determine the decision result DR. In one embodiment, the decision result DR may instruct the compression unit 504 to select among different compression algorithms with different compression ratios according to the location of an electronic device (e.g., a smartphone) in which the circuit elements shown in FIG. 1 are disposed. For example, a user may prefer higher display quality at home and prefer lower power consumption in the office. The compression unit 504 therefore refers to the decision result DR to select an appropriate compression algorithm to meet user's requirement/preference. More specifically, if the location indicated by the GPS receiver 105_6 has a coordinate of user's home, a compression algorithm with a less aggressive compression ratio (e.g., M=3/4, compared to 1/2) may be selected to ensure the visual quality; and if the location indicated by the GPS receiver 105_6 has a coordinate of user's office, a compression algorithm with a more aggressive compression ratio (e.g., M=1/4, compared to 1/2) may be selected to save power.

FIG. 6 is a flowchart illustrating an adaptive compression method based on at least one sensor input signal according to a second embodiment of the present invention. The exemplary adaptive compression method may be briefly summarized by following steps.

Step 600: Start.

Step 601: Receive an image of the input multimedia data D1 to be compressed.

Step 602: Check if the side information SI includes orientation information of an electronic device (e.g., a smartphone). If yes, go to step 604; otherwise, go to step 606.

Step 604: Apply a compression algorithm with prediction along the moving direction. Go to step 618.

Step 606: Check if the side information SI includes acceleration and orientation information of an electronic device (e.g., a smartphone). If yes, go to step 608; otherwise, go to step 616.

Step 608: Derive a view angle from acceleration and orientation information of the electronic device.

Step 610: Check if the view angle is within a normal view range of the display panel 106. If yes, go to step 612; otherwise, go to step 614:

Step 612: Apply a compression algorithm with a less aggressive compression ratio. Go to step 618.

Step 614: Apply a compression algorithm with a more aggressive compression ratio. Go to step 618.

Step 616: Check if the location of the electronic device has the coordinate of user's home. If yes, go to step 612; otherwise (e.g., the location of the electronic device has the coordinate of user's office), go to step 614.

Step 618: End.

Provided that the result is substantially the same, the steps are not required to be executed in the exact order shown in FIG. 6. For example, the order of steps 602, 606, 616 may be changed, depending upon actual design consideration. The same objective of adaptively selecting the compression algorithm is achieved.

It should be noted that steps 602, 606, 608, 610, 616 are performed by the decision unit 502, and steps 601, 604, 612, 614 are performed by the compression unit 504. As a person skilled in the art can readily understand details of each step shown in FIG. 6 after reading above paragraphs, further description is omitted here for brevity.

In a second exemplary embodiment, the compressor 142 may adaptively adjust a compression algorithm applied to the input multimedia data D1 according to a sensor configuration of the camera sensor 145 and/or a display configuration of a display apparatus (e.g., display panel 106). Please refer to FIG. 7, which is a diagram illustrating yet another embodiment of the compressor 142 shown in FIG. 1. The compressor 142 includes a decision unit 702 and a compression unit 704. The decision unit 702 may receive side information SI from at least one of the display panel 106 and the camera sensor 145, and determine a decision result DR′ based on the display configuration and/or sensor configuration indicated by the side information SI. The compression unit 704 supports a plurality of compression algorithms having different characteristics, and refers to the decision result DR′ to select one of the supported compression algorithms for data compression.

In one exemplary design, the display panel 106 may support a two-dimensional (2D) display mode and a 3D display mode. Thus, when the display data carries the 2D content, the display panel 106 is operated under the 2D display mode; and when the display data carries the 3D content, the display panel 106 is operated under the 3D display mode. The decision unit 702 therefore refers to the side information SI indicative of the display configuration of the display panel 106 to determine whether the display panel 106 acts as a 2D panel or a 3D panel. When the decision unit 702 determines that the 3D display mode is employed by the display panel 106, the decision result DR′ instructs the compression unit 704 to preferably select the compression algorithm N₁ since the compression algorithm N₁ is particularly designed for applying data compression to the input multimedia data D1 carrying the 3D content to be displayed on the display panel 106 acting as a 3D panel; and when the decision unit 702 determines that the 2D display mode is employed by the display panel 106, the decision result DR′ instructs the compression unit 704 to preferably select the compression algorithm N2 since the compression algorithm N2 is particularly designed for applying data compression to the input multimedia data D1 carrying 2D content to be displayed on the display panel 106 acting as a 2D panel.

In one exemplary design, the camera sensor 145 may support a stereo camera mode and a single camera mode. Please refer to FIG. 8, which is a diagram illustrating an exemplary implementation of the camera sensor 145 and the compression unit 704 shown in FIG. 7. The camera sensor 145 includes a plurality of image sensor modules 802_1, 802_2. The compression unit 704 includes a plurality of compression modules 804_1, 804_2. When the camera sensor 145 is operated in a stereo camera mode, both of the image sensor modules 802_1, 802_2 are enabled such that a stereo image composed of a left-view image IMG_(L) and a right-view image IMG_(R) can be obtained under a photo mode, and a stereo video sequence having a plurality of successive stereo images, each composed of a left-view image IMG_(L) and a right-view image IMG_(R), can be obtained under a video recording mode.

Consider a case where the camera sensor 145 is operated in the stereo camera mode. If the display panel 106 is operated under the 3D display mode, the compression modules 804_1 and 804_2 are both enabled to employ the compression algorithm N₁ to jointly compress the input multimedia data D1 which is a stereo image or a stereo video sequence. For example, the right-view image IMG_(R) is referenced by the compression module 804_1 to compress the left-view image IMG_(L), and the left-view image IMG_(L) is referenced by the compression module 804_2 to compress the right-view image IMG_(R). In this way, the compression efficiency of the input multimedia data D1 is improved. However, this is for illustrative purposes only, and is not meant to be a limitation of the present invention. In one alternative design, the compression module 804_1 compresses the left-view image IMG_(L) without referring to the right-view image IMG_(R), and the left-view image IMG_(L) is referenced by the compression module 804_2 to compress the right-view image IMG_(R). In another alternative design, the compression module 804_2 compresses the right-view image IMG_(R) without referring to the left-view image IMG_(L), and the right-view image IMG_(R) is referenced by the compression module 804_1 to compress the left-view image IMG_(L).

Consider the case where the camera sensor 145 is operated in the stereo camera mode. If the display panel 106 is operated under the 2D display mode, only one of the compression modules 804_1 and 804_2 is enabled to employ the compression algorithm N₂ to compress the input multimedia data D1. For example, the compression module 804_2 is disabled, and the right-view image IMG_(R) is referenced by the compression module 804_1 to compress the left-view image IMG_(L) to generate the output multimedia data D1′. For another example, the compression module 804_1 is disabled, and the left-view image IMG_(L) may be referenced by the compression module 804_2 to compress the right-view image IMG_(R) to generate the output multimedia data D1′.

When the camera sensor 145 is operated in a single camera mode, only one of the image sensor modules 802_1, 802_2 is enabled. Hence, a single-view image or a single-view video sequence is generated from the camera sensor 145. If the image sensor module 802_1 is enabled, the compression module 804_1 is enabled to employ the compression algorithm N₃ to apply data compression to an output of the image sensor module 802_1. If the image sensor module 802_2 is enabled, the compression module 804_2 is enabled to employ the compression algorithm N₃ to apply data compression to an output of the image sensor module 802_2.

FIG. 9 is a flowchart illustrating an adaptive compression method based on a display configuration of a display apparatus and/or a sensor configuration of a camera sensor according to a second embodiment of the present invention. Provided that the result is substantially the same, the steps are not required to be executed in the exact order shown in FIG. 9. The exemplary adaptive compression method may be briefly summarized by following steps.

Step 900: Start.

Step 902: Receive the input multimedia data D1 to be compressed.

Step 904: Refer to side information SI to obtain the camera mode of the camera sensor 145.

Step 906: Does the camera sensor 145 act as a stereo camera? If yes, go to step 907; otherwise, go to step 914.

Step 907: Refer to side information SI to obtain the display mode of the display panel 106.

Step 908: Does the display panel 106 act as a 2D panel? If yes, go to step 910; otherwise, go to step 912.

Step 910: Apply the compression algorithm N₂. Go to step 916.

Step 912: Apply the compression algorithm N₁. Go to step 916.

Step 914: Apply the compression algorithm N₃.

Step 916: End.

It should be noted that steps 904, 906, 907, 908 are performed by the decision unit 702, and steps 902, 910, 912, 914 are performed by the compression unit 704. As a person skilled in the art can readily understand details of each step shown in FIG. 9 after reading above paragraphs, further description is omitted here for brevity.

Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims. 

What is claimed is:
 1. A data processing apparatus comprising: a compressor, arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data; and an output interface, arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface; wherein the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to at least one sensor input signal.
 2. The data processing apparatus of claim 1, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).
 3. The data processing apparatus of claim 1, wherein the at least one sensor input signal is generated from an ambient light sensor; and the compressor is arranged to employ a first compression algorithm as the compression algorithm when the at least one sensor input signal indicates that an ambient light strength is higher than a predetermined threshold, and employ a second compression algorithm as the compression algorithm when the at least one sensor input signal indicates that the ambient light strength is not higher than the predetermined threshold, where the second compression algorithm is different from the first compression algorithm.
 4. The data processing apparatus of claim 3, wherein the first compression algorithm has a more aggressive compression ratio than the second compression algorithm.
 5. The data processing apparatus of claim 1, wherein the at least one sensor input signal is generated from a proximity sensor; and the compressor is arranged to enable the compression algorithm when the at least one sensor input signal indicates that a distance is larger than a predetermined threshold, and disable the compression algorithm when the at least one sensor input signal indicates that the distance is not larger than the predetermined threshold.
 6. The data processing apparatus of claim 1, wherein the at least one sensor input signal is generated from a thermal sensor; and the compressor is arranged to employ a first compression algorithm as the compression algorithm when the at least one sensor input signal indicates that a temperature is higher than a predetermined threshold, and employ a second compression algorithm as the compression algorithm when the at least one sensor input signal indicates that the temperature is not higher than the predetermined threshold, where the second compression algorithm is different from the first compression algorithm.
 7. The data processing apparatus of claim 6, wherein the first compression algorithm is less complex than the second compression algorithm.
 8. The data processing apparatus of claim 1, wherein the at least one sensor input signal is generated from an accelerometer; and the compressor is arranged to employ a first compression algorithm as the compression algorithm when the at least one sensor input signal indicates that acceleration is higher than a predetermined threshold, and employ a second compression algorithm as the compression algorithm when the at least one sensor input signal indicates that the acceleration is not higher than the predetermined threshold, where the second compression algorithm is different from the first compression algorithm.
 9. The data processing apparatus of claim 8, wherein the first compression algorithm has a more aggressive compression ratio than the second compression algorithm.
 10. The data processing apparatus of claim 1, wherein the at least one sensor input signal is generated from a gyroscope; and the compressor is arranged to employ a first compression algorithm as the compression algorithm when the at least one sensor input signal indicates a first moving direction, and employ a second compression algorithm as the compression algorithm when the at least one sensor input signal indicates that a second moving direction different from the first moving direction, where the first compression algorithm is configured to perform prediction along the first moving direction, and the second compression algorithm is configured to perform prediction along the second moving direction.
 11. The data processing apparatus of claim 1, wherein the at least one sensor input signal includes sensor input signals generated from an accelerometer and a gyroscope; and the compressor is arranged to employ a first compression algorithm as the compression algorithm when the at least one sensor input signal indicates that a view angle is within a predetermined range, and employ a second compression algorithm as the compression algorithm when the at least one sensor input signal indicates that view angle is out of the predetermined range, where the second compression algorithm is different from the first compression algorithm.
 12. The data processing apparatus of claim 11, wherein the second compression algorithm has a more aggressive compression ratio than the first compression algorithm.
 13. The data processing apparatus of claim 1, wherein the at least one sensor input signal is generated from a receiver of a global navigation satellite system.
 14. A data processing apparatus comprising: a compressor, arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data; and an output interface, arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface; wherein the input multimedia data is derived from an output of a camera sensor; and the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to a sensor configuration of the camera sensor.
 15. The data processing apparatus of claim 14, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).
 16. The data processing apparatus of claim 14, wherein the compressor is arranged to employ a first compression algorithm as the compression algorithm when the sensor configuration indicates a stereo camera mode, and employ a second compression algorithm as the compression algorithm when the sensor configuration indicates a single camera mode, where the second compression algorithm is different from the first compression algorithm.
 17. A data processing apparatus comprising: a compressor, arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data; and an output interface, arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface; wherein a display data derived from the output multimedia data transmitted via the camera interface is displayed on a display apparatus; and the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to a display configuration of the display apparatus.
 18. The data processing apparatus of claim 17, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).
 19. The data processing apparatus of claim 17, wherein the compressor is arranged to employ a first compression algorithm as the compression algorithm when the display configuration indicates a three-dimensional (3D) display mode, and employ a second compression algorithm as the compression algorithm when the display configuration indicates a two-dimensional (2D) display mode, where the second compression algorithm is different from the first compression algorithm.
 20. A data processing method comprising: receiving an input multimedia data; adaptively adjusting a compression algorithm according to at least one sensor input signal; generating an output multimedia data according to the input multimedia data and the compression algorithm; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface.
 21. The data processing method of claim 20, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).
 22. The data processing method of claim 20, wherein the at least one sensor input signal is generated from at least one of an ambient light sensor, a proximity sensor, a thermal sensor, an accelerometer, a gyroscope, and a receiver of a global navigation satellite system.
 23. A data processing method comprising: receiving an input multimedia data, wherein the input multimedia data is derived from an output of a camera sensor; adaptively adjusting a compression algorithm according to a sensor configuration of the camera sensor; generating an output multimedia data according to the input multimedia data and the compression algorithm; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface.
 24. The data processing method of claim 23, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).
 25. A data processing method comprising: receiving an input multimedia data; adaptively adjusting a compression algorithm according to a display configuration of a display apparatus; generating an output multimedia data according to the input multimedia data and the compression algorithm; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface; wherein a display data derived from the output multimedia data transmitted via the camera interface is displayed on the display apparatus.
 26. The data processing method of claim 25, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI). 